<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // 正则：用事先定义好的特定字符和特定字符组合组成的规则字符串
    // 正则的组成: 特定字符  元字符  限定字符  其他字符
    // 正则的创建: 
    //    1.字面量 ：let reg = /特定字符或特定字符组合/
    //    2.构造函数: let reg = new RegExp(/特定字符或特定字符组合/)
    // 正则的作用: 匹配 提取 替换
    // 正则的使用: reg.text(需要验证的字符)
</script>
<script>
    // 创建
    var reg = /\d/
    let reg1 = new RegExp(/\d/)
</script>
<script>
    // 元字符
    //  /\d/  匹配至少有一个字符
    var reg = /\d/
    //  /\D/  匹配至少任意一个非数字的字符
    //  /^/   表示匹配首行的文本（以谁开头）
    var reg = /^/d/
    console.log(reg.text('1212'));
    //  /$/   表示匹配行尾的文本（以谁结尾）
    var reg2 = /\d$/
    console.log(reg2.text('a333'));
</script>
<script>
    // 限定字符
    // * 重复零次或更多次
    var reg = /\b*/
    var str='111' 
    console.log(reg.text(str));
    // + 重复一次或更多次
    var reg = /\b+/
    console.log(reg.text('aaaa'));
    // + 重复0次或更多次
    var reg = /\c?/
    console.log(reg.text('ccccc'));
    // 至少重复n次 {n}
    var reg = /\c{3}/
    console.log(reg.text('cc'));
    // 重复n次或更多次 {n,}
    // 重复n到m次 {n,m}
</script>
<script>
    // 其他字符
    // [] 字符串用中括号括起来，表示匹配其中的任一字符，相当于或的意思[0 - 9]
    var reg = /[0-9]/
    console.log(reg.text('1642267'));
    // | 或者，选择两者中的一个。注意|将左右两边分为两部分，而不管左右两边有多长多乱
    var reg = /[0-9]|[a-z]/
    console.log(reg.text('sada2314'));
</script>
<script>
    // g:全局匹配  i:不区分大小写
    // 提取  变量.match(正则对象)
    var str = 'adaadad'
    str.match(/a/)
    str.match(/a/gi)
    // 替换  变量.replace(旧，新)
    str.replace(/a/,'b')
    str.replace(/a/gi,'b')
    str.replaceAll(/a/,'b')
</script>
</html>